package com.easycoding.ums.system.entity;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;

import com.easycoding.ums.support.BaseEntity;



/**
 * 权限资源表
 * @author Wangjk
 * @Version 1.0
 * @Date 2013-4-1
 */
@Entity
public class Permission extends BaseEntity {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8782964623186609939L;
	
	/**
	 * 父节点编号
	 */
	@Column(name = "parent_id")
	private Long parentId;
	
	/**
	 * 中文名称
	 */
	@Column(name="perssion_cname")
	private String cname;
	
	/**
	 * 英文名称
	 */
	@Column(name="perssion_ename")
	private String ename;
	
	/**
	 * 权限角色
	 */
	@OneToMany(mappedBy="permission",cascade={CascadeType.ALL},fetch=FetchType.LAZY)
	private Set<RolePermission> permissionRoles = new HashSet<RolePermission>();

	/**
	 * 获取父节点编号
	 * @return parentId 父节点编号
	 */
	public Long getParentId() {
		return parentId;
	}

	/**
	 * 设置父节点编号
	 * @param parentId 父节点编号
	 */
	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	/**
	 * 获取中文名称
	 * @return cname 中文名称
	 */
	public String getCname() {
		return cname;
	}

	/**
	 * 设置中文名称
	 * @param cname 中文名称
	 */
	public void setCname(String cname) {
		this.cname = cname;
	}

	/**
	 * 获取英文名称
	 * @return ename 英文名称
	 */
	public String getEname() {
		return ename;
	}

	/**
	 * 设置英文名称
	 * @param ename 英文名称
	 */
	public void setEname(String ename) {
		this.ename = ename;
	}

}
